/**
 * 获取tab栏的图标的日期
 * 根据不同的字段获取当前日期的年份、月份或日期
 * @param {string} field 日期字段，可选值为'year'、'month'或'day'
 * @returns {string} 根据字段返回对应的日期字符串，格式为两位数
 */
function getIconDate(field) {
    // 创建一个日期对象，用于获取当前日期信息
    const date = new Date();
    
    // 根据传入的字段选择返回相应的日期信息
    switch (field) {
        case 'year':
            // 获取当前年份的后两位数
            return date.getFullYear().toString().slice(-2);
        case 'month':
            // 获取当前月份，由于月份从0开始，需要加1，并确保格式为两位数
            return (date.getMonth() + 1).toString().padStart(2, '0');
        case 'day':
            // 获取当前日期，并确保格式为两位数
            return date.getDate().toString().padStart(2, '0');
        default:
            // 如果字段不符合预期，返回空字符串
            return '';
    }
}

// 获取当前日期
function getNowDate(field) {
    const date = new Date();
    const year = date.getFullYear();
    const month = date.getMonth() + 1;
    const day = date.getDate();
    // 根据传入的字段选择返回相应的日期信息
    switch (field) {
        case 'day':
            // 返回当前日期
            return `${year}-${month}-${day}`;
        case 'month':
            // 返回当前月份
            return `${year}-${month}`;
        case 'year':
            // 返回当前年份
            return `${year}`;
    }
}

// 将日期中的-替换为中文的年月日
function formatCnDate(field, date) {
    const arr = date.split('-');

    switch (field) {
        case 'day':
            // 返回格式化后的日期，格式为 "年-月-日"
            return `${arr[0]}年${arr[1]}月${arr[2]}日`;
        case'month':
            // 返回格式化后的日期，格式为 "年-月"
            return `${arr[0]}年${arr[1]}月`;
        case 'year':
            // 返回格式化后的日期，格式为 "年"
            return `${arr[0]}年`;
    }
}

// 格式化用户输入日期
function formatUserDate(date) {
    const year = date.slice(0, 4);
    const month = Number(date.slice(4, 6));
    const day = Number(date.slice(6, 8));
    switch (date.length) {
        case 8:
            // 如果日期长度为 8，说明是日期，返回日期
            return `${year}-${month}-${day}`;
        case 6:
            // 如果日期长度为 6，说明是月份，返回月份
            return `${year}-${month}`;
        default:
            // 如果不符合以上情况，返回原始日期
            return date;
    }
}

// 导出函数
export {
    // 将函数 getIconDate 导出
    getIconDate,
    getNowDate,
    formatCnDate,
    formatUserDate
}